﻿using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LinkGame.Models.Variations
{
    /// <summary>
    /// Represents a variation on the game map.
    /// </summary>
    internal interface IVariation
    {
        /// <summary>
        /// Gets a bool value which determines whether the variation should be applied.
        /// </summary>
        bool ShouldApply { get; }

        /// <summary>
        /// Applies the variation on the game map.
        /// </summary>
        /// <param name="map"></param>
        /// <param name="p1"></param>
        /// <param name="p2"></param>
        void Apply(Map map, Point p1, Point p2);
    }
}
